/**
 * \file kernel/klibc/malloc.c
 * \author Davide Gessa
 * \note Allocazione della memoria
 * \date 10-12-09
 */
#include <klibc/ctype.h>
#include <klibc/malloc.h>
#include <mm.h>

uint32_t allocazioni;

void *calloc(size_t size)
{
	int x;
	char *adr = (char *) mm_kalloc(size);
	char *j = adr;

	for(x = 0; x < size; x++)
	{
		*j = 0;
		*j++;
	}
	return (void *) adr;
}


void *malloc(size_t size)
{
	allocazioni++;
	//printf("malloc %d\n", allocazioni);
	return (void *) mm_kalloc(size);
}


void *realloc(void *adr, size_t size)
{
	free(adr);

	return (void *) mm_kalloc(size);
}


void free(void *adr)
{
	allocazioni--;
	//printf("free %d\n", allocazioni);
	mm_kfree(adr);
}
